package com.google.gwt.sample.dynatablerf.server.business.impl;

import org.springframework.security.authentication.BadCredentialsException;
import org.springframework.security.core.userdetails.UsernameNotFoundException;

import com.google.gwt.sample.dynatablerf.server.business.ControladorUsuario;
import com.google.gwt.sample.dynatablerf.server.domain.Usuario;
import com.google.gwt.sample.dynatablerf.server.domain.UsuarioQueryParams;

public class ControladorUsuarioImpl extends
		ControladorImpl<Usuario, UsuarioQueryParams> implements ControladorUsuario {

	@Override
	public void validarUsuario(String login, String senha) {

		UsuarioQueryParams params = getDaoManager().getEmptyParams();
		params.setLogin(login);

		Usuario usuario = find(params);
		
		if (usuario == null)
			throw new UsernameNotFoundException("Usuário não encontrado");
		else if (!usuario.getSenha().equals(senha))
			throw new BadCredentialsException("Senha inválida");
	}
}
